﻿#ifndef WRWORKOBJECTWRAPPER_H
#define WRWORKOBJECTWRAPPER_H

#include "WRGlobal.h"
#include "../WRSoft-Working-Common/WRWorkObject.h"

//表示工作对象包装。
class WRSOFT_GUIAPP_WORKING_COMMON_CLASS WRWorkObjectWrapper
{
private:
    WRWorkObject* m_target;

    Q_DISABLE_COPY(WRWorkObjectWrapper)

public:
    //初始化工作对象包装。
    explicit WRWorkObjectWrapper(WRWorkObject* target);
    //清理当前对象所占用的相关资源。
    ~WRWorkObjectWrapper(void);

    //获取标识。
    inline const QUuid& uuid(void) const
    {
        return m_target->uuid();
    }
    //获取名称。
    inline const QString& title(void) const
    {
        return m_target->title();
    }
    //获取描述。
    inline const QString& description(void) const
    {
        return m_target->description();
    }

    //获取目标对象。
    inline WRWorkObject* target(void) const
    {
        return m_target;
    }

    //获取是否是本地对象包装。
    inline bool local(void) const
    {
        return m_target->local();
    }
    //获取所属工作域。
    inline WRWorkDomain* domain(void) const
    {
        return m_target->domain();
    }
};

#endif // WRWORKOBJECTWRAPPER_H
